// 完成 文章类别 所需的接口
const path = require('path');
const db = require(path.join(__dirname, '../utils', 'db'));
const express = require('express');
const router = express.Router();

// router.get('xxx', async (req, res) => {

// });

// ### 获取文章分类列表
router.get('/cates', async (req, res) => {
    let r = await db('select * from category');
    // 只要查询到了，哪怕是空数组，也做出响应
    if (r) {
        res.json({
            status: 0, 
            message: '获取分类成功',
            data: r
        });
    } else {
        res.json({
            status: 1,
            message: '获取分类失败'
        });
    }
});

// ### 新增文章分类
router.post('/addcates', async (req, res) => {
    let r = await db('insert into category set ?', req.body);
    if (r && r.affectedRows > 0) {
        res.json({
            status: 0,
            message: '添加分类成功'
        })
    } else {
        res.json({
            status: 1,
            message: '添加分类失败'
        })
    }
});

// ### 根据Id删除文章分类
router.get('/deletecate/:id', async (req, res) => {
    // 获取id
    let id = req.params.id; // 获取动态参数id
    let r = await db('delete from category where Id=?', id);
    if (r && r.affectedRows > 0) {
        res.json({
            status: 0,
            message: '删除分类成功'
        })
    } else {
        res.json({
            status: 1,
            message: '删除分类失败'
        })
    }
});

// ### 根据Id获取文章分类数据
router.get('/cates/:id', async (req, res) => {
    
});

// ### 根据Id更新文章分类数据
router.post('/updatecate', async (req, res) => {
    // console.log(req.body);
    let params = [
        {
            name: req.body.name,
            alias: req.body.alias
        },
        req.body.Id // 这里必须是大写的Id，否则不能接受到客户端提交的Id
    ];
    let r = await db('update category set ? where Id=?', params);
    if (r && r.affectedRows > 0) {
        res.json({
            status: 0,
            message: '修改分类成功'
        })
    } else {
        res.json({
            status: 1,
            message: '修改分类失败'
        })
    }
});

module.exports = router;